Key:

[/] Is something I changed
[+] Is something I added
[-] Is something I removed

=================== [ Changelog ] =====================


----------- [ Key ] -----------

[/] Is something I changed
[+] Is something I added
[-] Is something I removed


----------- [ Changes ] -----------

[-] Vault Files no longer use encryption since it forces a need for manual input

[/] The original Main.py is now its own module which is callable like an API
[/] The output uses =><= to make it easier to select text since previously the >< were being buried in the text
[/] you now select 1 session when you run it, and to change, you quit the script and restart
[/] Changed paths to be definitive using the Path module, which means no more 'can't find xyz' errors
[/] made pre.py use Path so it works across windows and Linux
[/] Expanded the char lists in the list generator to add more special chars for more entropy
[/] Merged Setup and Vault generator into one
[/] Made PGP blocks more efficient by removing headers and newlines and putting the == at the end (pro deniability so you can claim its base64) and so now messages are shorter as they don't send the newlines or header or footer but still preserve the checksum

[+] Added A guide on how to make anonymous vault names
[+] The script auto-detects the mode to make it easier
[+] I modified PGP output to remove the header and footer (it still keeps the checksum), which means shorter messages
[+] session selection filters out your own PGP file and the DELETEME file
[+] added a setup file which ensures the correct libraries are present, sets up PGP keys and deletes the DELETEME file
[+] Added checks to make sure every single password doesn't repeat any brackets or special chars before adding it to the list to write
[+] session selection now lists files so you don't have to type out the name
    ⌞ in doing the above, input is also sanitised and checked so it can't go out of range


=================== [ Developer Notes (My current Thoughts and Ideas on/for this project) ] =====================

Use ByteArrays (b'stringcontents') so it can be securely zeroed out after

It's called API version, as I'm using the main script like a callable API so if someone wanted to use it in something else, then they can call the various functions like in main.py instead of needing to implement the entire script. Also, it makes each script cleaner and less cluttered. also is made so it can be used with other scripts and called as needed

Removed encryption, as a person should instead make sure the computer is secure. And if you had a master vault, you needed to input the number to decrypt it, which means it cannot be fluid and automatic to encrypt and decrypt. Im aiming for it to be used in terminal or with automatic copy detection then it decrypts and pastes it.

Might add later as a separate program and you manually (via a script) decrypt before and encrypt once finished, maybe name the script encryptmanager.py or something

If I did re-add the encryptor, the script would call the unlocker first then when you done you CTRL + C to re-encrypt

Might add a hider/unhider so you can send binary instead of invis chars if you want to be pro deniability saying someone else wrote it

might add a links.json which links vaults with pgp keys so when you select a vault it selects the pgp key automatically and if no match is found it manually asks which key. you get asked to link when making a vault.
